{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "讲师： 沈福利\n",
    "\n",
    "本章节目标\n",
    "\n",
    "* 图例介绍\n",
    "* 图例的设置\n",
    "* 点大小 图例设置"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 自定义图例"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "绘图图例赋予可视化的含义，为各种绘图元素赋予意义。我们以前看到过如何创建一个简单的图例；这里我们将了解定制Matplotlib中图例的位置和效果。\n",
    "\n",
    "可以使用plt.legend（）命令创建最简单的图例，该命令自动为任何带标签的绘图元素创建一个图例"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "plt.style.use('classic')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXYAAAD7CAYAAAB+B7/XAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzt3Xl4VEXWBvC3TADZQkCCgCCLIkR2BWUniAOIuCAjA4qCozCIKBkZlWWEgIALAx86isiggggqLsOmiLJEQAWjEjAsssgWgiGI7CEk9Pn+OGEZDCHdfbtvd+X9PU8/JOHm3tOd7tPVVaeqjIiAiIjscZnbARARkbOY2ImILMPETkRkGSZ2IiLLMLETEVmGiZ2IyDKRwbqQMYZ1lUREPhAR483xQW2xiwhvIhg5cqTrMYTKjY8FHws+FvnffMGuGCIiyzCxExFZhondBXFxcW6HEDL4WJzDx+IcPhb+Mb724Xh9IWMkWNciIrKFMQbi5eCp31UxxpjLAawAUCz3fB+JyEh/z0tEoa169erYtWuX22FYo1q1ati5c6cj5/K7xW6MMQBKisgxY0wRAKsADBKR1RccxxY7kUVyW5Juh2GNiz2errTYc7P1sdxvi+Te+NcmInKJI4OnxpgIY0wygP0AvhSRNU6cl4iIvOdIYheR0yLSCEAVADcZY+o5cV4iIvKeo0sKiMghY0wigE4AUi78/4SEhLNfx8XFsaSJiIJu1qxZmDFjBr744gu3Q8lTYmIiEhMT/TqHE4OnMQCyc5N6cQBfAHhRRBZecBwHT4ksEuqDp6tWrcLTTz+NDRs2ICIiArGxsZg0aRKaNm3qdmh5CqnBUwCVAMwwxkRAu3bmXJjUiYiC6ciRI+jSpQtef/11dO/eHadOncLKlStRrFgxt0MLCr/72EVkvYg0FpEGIlJPREY7ERgRka+2bNkCAOjZsyciIiJQvHhxdOjQAQ0aNMD06dPRqlWrs8caYzBlyhTUqlULZcuWxWOPPfY/Lee33noLsbGxKFu2LDp27BgWtftcUoCIrHPdddchIiICvXv3xqJFi/D777/ne/zChQuRlJSEdevWYc6cOVi8eDEAYO7cuRg3bhw++eQTZGRkoHXr1ujZs2cw7oJfmNiJKGCM8f/mi6ioKKxatQrGGPTt2xcxMTG48847kZ6enufxQ4YMQXR0NK6++mq0a9cOycnJAIA33ngDQ4cORWxsLCIjIzFs2DAkJyeHfKudiZ2IAkbE/5uvYmNjMX36dKSmpiIlJQVpaWmIj4/P89iKFSue/bpEiRI4dkznXO7atQuDBg1CdHQ0oqOjUa5cOYgI9u7d63tgQcDETkTWq1OnDvr06YOUlD9UYeeratWqeOONN3Do0KGzt8zMTLRo0SJAkTqDiZ2IrLN582ZMmDABqampAIA9e/bgvffeQ7Nmzbw6T//+/fH8889jw4YNAIDDhw/jww8/dDxepzGxE5F1SpcujTVr1uDmm29GyZIl0axZM9SrVw8TJkzw6jxdu3bFM888gx49eiAqKgr16tXDokWLAhS1c7geOxH5JNQnKIUbJycoscVORGQZJnYiIsswsRMRWYaJnYjIMkzsRESWYWInIrIMEzsRkWWY2ImILMPETkRUQHXr1vV727pgYGInImvNnj0bTZo0QalSpVCpUiXcdtttWLVqlc/n27BhQ1js1czETkRWmjhxIuLj4zFs2DCkp6dj9+7dGDBgAObNm+d2aAHHxE5E1jl8+DBGjBiB1157Dffccw9KliyJIkWK4I477sD48eORlZWF+Ph4VK5cGZUrV0Z8fDyysrIAAAcOHECXLl3Orr/eunVreDweAED16tWxZMkSAEBCQgK6d++OBx98EKVLl0bdunXx/fffn40hLS0N3bp1Q0xMDGrUqIFXXnklaPefiZ2IrPPtt9/i5MmT6Nq1a57/P3bsWKxevRrJyclYt24dvvvuO4wZMwYAMGHCBFSpUgUZGRlIT0/HuHHjYC6yldP8+fPRo0cPHDp0CHfeeScGDhwIAPB4PLjjjjvQsGFD7N27F0uXLsWkSZPObrkXaEzsRBQ4CQl573eXkFCw4y923CX89ttvKF++PCIjI/P8/1mzZmHEiBGoUKECYmJiMHLkSMycORMAUKRIEezbtw+7du1CkSJF0Lp164sm9latWqFz586IiIjAAw88gHXr1gEAkpKSkJGRgREjRqBo0aKoWbMm+vbti/fff9+n++MtJnYiCpyEhLz3u8svsRfkuEu44oorcODAAeTk5OT5/2lpaahWrdrZ76tVq4a0tDQAwFNPPYVrr70WHTp0QM2aNfHCCy9c9DoXbql38uRJ5OTkYNeuXUhLSzu7pV50dDTGjRt30T1XncbETkTWad68OS6//HLMnTs3z/+vXLny/2xIvXv3blSuXBmAbtIxYcIE/PLLL1iwYAEmTpyIpUuXenX9qlWrokaNGv+zpd7Ro0fx2Wef+X6nvMDETkTWKVOmDEaPHo3HHnsMc+fOxYkTJ5CdnY1Fixbh6aefRs+ePTFmzBhkZGTgwIEDGD16NHr16gUAWLhwIbZt2wYRQVRUFCIiIhAREeHV9W+66SZERUXhxRdfRGZmJk6fPo2UlBQkJSUF4u7+Qd4dUEREYe7JJ5/ElVdeiTFjxuD+++9H6dKlceONN2L48OG44YYbcOTIETRo0AAAcO+99+Kf//wnAGDr1q0YOHAgMjIyULZsWQwYMMDr2vWIiAgsWLAAgwcPRo0aNZCVlYXatWufHaANNL+3xjPGVAXwDoCKADwAporIy3kcx63xiCzCrfGc5eTWeE4k9koAKonIj8aY0gB+AHC3iGy84DgmdiKLMLE7K6T2PBWRfSLyY+7XRwFsAnCVv+clIiLfODp4aoypDqAxgDVOnpeIiArOscFTY0wpAB8DiBeRI3kdk3BeTWpcXFxYLKZDRBRMiYmJfq8g6XcfOwAYY4oAWAhgsYhMvMgx7GMnsgj72J0VaoOnBsAMAAdFJD6f45jYiSzCxO4sJxO7E10xLQE8AOAnY0xy7s+GiUhwplgRkSuqVat20TVUyHvnL3HgL0e6Ygp0IbbYiYi85kq5IxERhRYmdiIiyzCxExFZhomdiMgyTOxERJZhYicisgwTOxGRZZjYiYgsw8RORGQZJnYiIsswsRMRWYaJnYjIMkzsRESWYWInIrIMEzsRkWWY2ImILMPETkRkGSZ2IiLLMLETEVmGiZ2IyDJM7ERElmFiJyKyDBM7EZFlmNiJiCzjSGI3xrxljNlvjElx4nxEROQ7p1rs0wF0cuhcRETkB0cSu4isAHDQiXMREZF/2MdORGSZyKBerVMnoGRJoHJloFo14JprgLvvBowJahgFdeQIkJICbNoEbNkC7N8PHDigPz+jZEkgJgaoUAGoVQuIjQXq1gXKlXMvbrLI4sXA228DR4/q7fRp4PLLgfvuAx5+2O3oCiQnB9i8+dwtNVVfRwcP6v8ZAxQpApQvr6+lq68Grr9eb9Wrh2x6CGlBTewJ5csDp04BW7ci7tdfEbdxI9C1azBDyFdWFrB0KfD558DKlcDWrfrkio0FatfWW/nyQFSUPtlEgGPHgIwMID0dWL0amD5d3wyqVgVatwY6dAA6dtQ3AKI8HTwI7NunLYILVaoE3HknUKYMUKoUcNll+kStUiXvc82YAfz8M/CnPwGtWmnGDDIRfQ3Mnw989ZW+LipW1LtXpw7QsKG+jsqVAyIj9fhTp4DfftPG065d+jpMSdGft2kDtG0L3HWXJn3bJSYmIjEx0a9zGBFxJBhjTHUAC0Wk3kX+Xwp8rY0bgU8/BXr2vPgT2CGnT2sif/ddYNEioEEDoEsXfTLdcANQtKj358zJAdatA1as0Lvx3XfArbdqI+uuu1x5rVGoOX4c+OQTbQkkJQH9+wMvveT/edeuBT7+WFv6O3cCf/6zPvFattQ3hQDasgV48029fE6OPtfbtwdatNBE7ovdu7WRtXSpvlHUqAHcey/w4IP6ZlEYGGMgIt59bhERv28A3gOwD0A2gFQAD+dxjBTYzz+LPPKISNmyInfeKbJsmYjHU/DfL4D0dJHRo0WuvlqkaVOR118X+fVXRy9x1oEDIm+/LdKmjUjFiiLDhons2ROYa1GIO35cpH9/kehokdtvF5kzR+TEicBc65dfRMaNE7n+epH16wNyiexskfffF4mLE6lQQeSpp0R+/NHxl+vZay1ZIvLww/rw3XuvyPLlgblWKMnNnd7lZG9/wdebV4n9jOPHRaZMEalTR6RhQ33G+GnPHpEnntD3jH79HDmlVzZu1OuXKyfSt6/I9u3BvT65zOMRefllkbS04F7TYSdPikydKnLNNSItW4p88IFIVpbjl7moQ4dEXn1VpHZtkZtvFlm40N4Eb19iP+P0af3Lpaf7fIoDB84l9MGDg/u6ulg8zz4rcsUV2gJxOx4qhPbvFzl61KtfOX1aZOZM/aTbsaPIihUBiq2AcnL0TaV+fZEbb9QP97bxJbGHR7njZZcBt9+upSdeOnUKmDRJB0DPjM7/6186JuWmK64ARo8Gtm3TQaT69YGxY4HMTHfjIoccPKiDN6Hsv//VF8b77+sI5iWsXAncfDPw738Ds2fr3WvdOghx5iMiAujeHUhOBp5+GvjrX7UeY9s2d+NynbfvBL7e4E+LPT/bt1+01bFypfbidOoksmFDYC7vlG3bRLp1E6lWTWTRIrejIZ95PCIzZohceaXIkCFuR3Npq1aJNGok0ratyE8/5XlIRoZIr17aSp89W1vtoSozU+T55/WT8PDh+n24g7VdMfl57jmR6tX/5zPY4cMijz4qUrmyyMcfB+aygbJ4sd6dXr30BUVhZNs2HUW84QaRpCS3oym4nByRyZNFYmJExo49+2OPR2TWLH2PevJJkWPHXIzRS3v3itx9tzbsVq1yOxr/FM7ELiLy6aciV10lMnCgLF94TKpW1aKa338P3CUD6ehRkfh4fUHNnet2NFQg8+eLlC8vMnGiJspwtGePlm+Jdr/fcYf2Xa9Z425YvvJ4RD78UKRSJZFBg8K39e5LYnesjv1SvKpj90H2/t/x0y2DUHbzt/h10vtoPvDGgF0rWL7+GujVC+jcWccFihd3OyK6qO3bgZMn855kFGa++AJ46CHggQd0HMiXuRyh5OBB4G9/0zr7997TSYfhxJc6disS+/btOpcpJgaYffcclCl1Wn9ggUOHdO5KSoo+KevXdzsistWpU8CwYTqWOmOGTi6yhYhOnho6VIsU+vYNn6UKCmViX7BAl8wYPhx44onw+WN5Q0RfaE89Bfzf/2krnshJaWlAt27aOHrrrQtmiq5cqXP/mzd3LT6nbNqkbb7rrwemTQNKlHA7okvzJbGHR7ljHjweICEBePRRYN48YNAgO5M6oPerTx9g2TK9z/HxQHa221EVUocPAxMmFKg8MFysWgU0bapLacydm8f0/2PHdH2AadNcic9JsbHAt99qmWSLFsCOHW5HFBhhmdgPH9bn2dKlwPffF7AhkZ4e8LgCrX59XVZkyxZd42n/frcjKmR+/lkz4C+/6KSIMCcCvPqqttSnTdNPvXkuJ3PbbdpqHz8eePzxsG9VFC8OvPOO1rw3bw58+aXbETkv7BL79u06SaJaNU3sBVoIKCtL355feinsW1ply2r3U6tWmmPWr3c7okJi+XJdGe6ZZ4DXXgv7ldyys3VA8Y03gG++0dydr9q1gTVr9AXYsaMuxRjGjNGu2/ff1wXFXn7Z7Ygc5m0Zja83OFDu+M03uojW5Mk+/PLu3Trn+IEHgruoRQDNnq2lx4sXux2J5d58U1e4smS++qFDIh06iNx2m8iRI17+ck6OyDPPiCxdGpDY3LBzp66T9sQToVmpCpvLHT/8EBgwQAcRO3f28SQnTugSpseO6dqiZcr4HE+oWLlSlzF97jkd6SeH5eQAvXsDI0ZoqzXM7d6tq3O0bg288oqOiZJWn3Xrpkvez54dWvsnWFkVI6Jde//+t3ZBNGrkZyCnT2s/YXKyFopbMOK6ZYu+WP/8Zy3lCvCy2xSmfvxR9+x48kng73+34qnvqFOngH79tLR44cLQWe/dusTu8eiTcNky4LPPHNxzQ0T7Cq+91qETui8jQweUr71W63XDvAuYHLZ8OfCXvwBTpgD33ON2NKFLRD/9Tp+uE7VCIUVYVe6Yk6Oz377/XncicnQjJWNC4y/moJgYYMkS3UuyWzeuEknnzJ2rSX3OnAAm9S+/BEaODPviBGO0123IEN2Ob906tyPyTUgm9pMnNTllZOi7ZnS02xGFhxIl9EVcqpRWOZy/6TYVwK5d2k3n8bgdiWPeflvneixaBMTFBfBCjRppX+mgQVY8fv366WTADh20xzbchFxiP3JEk9KZJBXUmWH79gXxYoFRtKju31q3LtCunb45UgFs3Kg1pNdea80gxcSJOqFt+XLgxkAvnRQToxdau1Y/altQ59+9u9a7d+0a+kvrXyiknsEZGcAtt+jssHffDfLiQ8ePAzfdpBcOc5ddphNPbr9dc9WePW5HFOJSUnS38bFjtcUZ5kSAf/4TmDpVq6bq1AnShcuU0U2009M1K2ZlBenCgdOxo85s791ba97Dhrf1kb7ecIk69l9/1VrSYcNc3LtwwwaRKlVEXnvNpQCcN2GCSI0aIjt2uB1JiEpO1skRs2e7HYkjPB5dO71xY1161xVZWTpf5IcfXArAeevX6/4O06cH/9oI1/XY09J0QfxRo5x4GPy0fbtIzZoi48e7HYljXn1Vd7/Zts3tSELQ/ffrppkW8Hh03fEbbxQ5eNDtaOyzaZNu+/Cf/wT3ur4kdtenJ+zdq90vvXvrkqGuq1kT+OorDcoYYPBgtyPy22OPafljXJxWzlgwz8Y5M2daUdAtouO+SUn6N2bBgfPq1NFhhPbtdUmGRx91O6KLczWxp6bqAN8jj+gSHCGjShUgMVGn6VmiXz9N7rfcopVp4bbZQMBYkNQ9Hn3zTk7WKjILJlSHrFq1NDXccotOaArVIRnXEvvu3ZrUBwwI0UZx5cp6s8hDD2lyb99ex7gaNHA7IvKXx6MbsWzYoH/TqCi3I8rH4sVaoFC2rNuR+OX8D/XZ2cA//uF2RH/kSlXMzp3aLfDEEyGa1C3WqxcwaZLW5/74o9vRBNm6dTpJwhIej64PtGmTluOFdFIHtI/o1lt1r7owV62aJvepU4Fx49yO5o8cSezGmE7GmJ+NMduMMUPyO/aXXzSpDx4cuh9jbPeXvwCTJ+t8gaQkt6MJkpUrdRH7cJ1KeIHTp3U98e3bdfJR6dJuR1QAL72kzdz27cN+2V/gXI/tzJnAqFFuR3MBb0dbL7wBiACwHUBNAEUBrANwfR7HydatWp3x+usBH0gOjPnzRYYOdbEe01nz5umyv6tXux1JgC1fLlK+vMiXX7odiSNyckR69RJp107k2DG3o/GSx6PL/jZo4GI9prN+/VWkbl2RZ58NTGqAG+WOAJoDWHze90MBDM3jOKlSRWTqVOfveNAcOCDSqJHIP/5hTXJfuFCT+9dfux1JgCxZokndkrXUs7NFevYUufVWkePH3Y7GRx6PyPDhIs2bW/M6Sk8XqV8/MO0+XxK7E10xVwE4f25jau7P/mDUqDBfM/yKK3TbpmXLtC9JwnvBI0Bnp77zDnD33br3pVW++w7o0UPX3m/Xzu1o/JadDdx/v/ZizJ8fHhsx58kYXULxvfesqEoCgAoVzq1C+8wz7qcGJ6pi8vrL5Hm3du9OQEKCfh0XF4e4gK5KFCDlyukgUIcOuqv0pElh/+Ts1AmYNUvXxPjoI13VzgoNGmhtp9+L+LsvOxvo2VP3ipk3D7j8crcj8pMxOgJpkfLlNbn/6U9aKfOvf/mWGhITE5GYmOhXLH6vx26MaQ4gQUQ65n4/FABE5PkLjhN/rxVSDh3S1uDrrwM1argdjSOWLdOB1Q8+0DEuCg2nTunfJSdH33iLFXM7IsrP779ru69FC2fafa5stGGMiQSwBUB7AHsBJAG4T0Q2XHCcXYndUl99pTsxzZ6tLQ9yV1aWbn142WX6hmt9Us/KsuJOHjqkC4g1aaK7v/mzYKgrG22ISA6AgQAWA9gEYM6FSZ3CR9u2wCefaF9uuC1V6nrHpsNOntSNMSIjdZMMC/Jd/jZvBurXt2LGd3S0zgJeu1YnYQZ7iXpH6thF5DMRuU5ErhGRsU6ck9zTurWuhf/ggzoYFBY++EDfjSxx8qSOeZQooXctqEtYu6VOHc2CcXE6izHMnVnFeMMG4G9/C25yD6n12K3w1Vc6eyTMtWihG+L06aP/hrR339XdmYcOdTsSR2Rm6qbT0dFaOFKo9q+Nj9e/ZVyczmYMc6VL6wSyLVuAhx8OXmoI6c2sw47Ho9M5Y2J0N9xI1xfP9FtSEtCli26C3LWr29Hk4e23dVcJS1Y2O3ECuOMOoFIla55Cvpk8GXjxRR3Rv+Yat6Px2/Hj+netUkWfshERBf9dVwZPC3yhwpDYAW1u3XWX1rzPnGnFK/OHH4DOnYHXXtOB1ZAxdarWQy9dClx3ndvR+O34cX0Tvfpq4K23vHvxW+nNN7VktWlTtyNxxIkTmhoqVABmzCh4amBiDxWZmTrqVbq0Fohb8Fk6OVnr3V9+WUvvXCeia9UOHmxFi+7oUU3q11wD/Oc/TOq2yszUyYDR0dqDWJDUwMQeSk6eBLp1AypW1JaHBdav1xKuCROA++5zOxp7/Pab9uA1bqzTIizZS5su4ky1U4kSBRtDYWIPNVlZwI4dQdxNOPBSUnTyxYsvAg884HY04W/fPn08O3cGXngh7CcxUwFlZWm3ZpEiukl2flVPrtSxUz6KFbMqqQNAvXrapT10qLYuyXc7dmhp6X33MakX2Dvv6P50Ya5YMV3CCNBB1WPHnD0/Ezt5LTYWWLFCu2RGjQrCvKDsbGDMGOef/S7atAlo0+ZclSaTegFVraqDPPPmuR2J34oW1YlnVavqEvUHDjh3biZ2Nxw96nYEfqtZE/j6a53INHBgAOtzMzN1rOLbb63pfP7hB12LZ9w4Hf8lL7Rrp7Pm+vfX0pIwFxmpg+Xt2umnN6cm3drxSgknP/+s9dY//eR2JH678krdQWbjRu1OyMpy+AKHDmkpTunS+g4StuvUnrNokQ6UTpnCMQqfNWmi3TEjRgATJ7odjd+M0a64Rx7R5L5pk//nZGIPttq1gfHj9bPXl1+6HY3fypTRZJWTo+V6R444dOKdO4GWLbVUZOZMK0pGp03T7ezmzdN6ZvJDnTq63eHHHwPp6W5H44jBg3VaRrt2+gHVH6yKccvKlbps39ixOtc4zJ0+rZuTf/UVsHAhUL26nyeMj9flkC3YGFcEGDlSV8xctAioVcvtiCwiYt0AxWefAb176+Tbe+9luWP42bJF69wefVTfrsOcCPDKK1oK+cknQLNmfp7MghdsVhbQr58uXLhggc46JLqU5GStlhk4EBgyhIk9/GRk6HB4bKzbkThm4ULgoYd0HeoePdyOxj379ulElKuu0nG+kiXdjojCSWqqLga3di0TO4WIdeu0xdGnj3ZDFLYp8klJmtT79dM1yiz48BE+Jk8GypbVvQTDXE4OUKQIJyhRiGjYUPeSXrFCN8z+7beLHLhjh9YlnzgR1PgC6d139T6/+irw7LNM6kHXsqW+mw4erJkxjPm6hiATe6havDj42644rGJF3fe7QQPgxhu1Ffs/Pv8caN4caNUKKF7clRidlJmpLfTRo3W1WVa+uKRhQ32ynVn/Yv9+tyMKOib2UJSZqXVPHTtqR20Yi4wEXnpJy43PtGLlZBbw5JOaBefMAR5/POybtZs2ATfdpEvv/vCDLr1ALipXTstLWrYEGjXS2XSFCBN7KCpeXGf+nKnjDvktjC7tnnv0tfXR20exvUJzZG7eqUP/bdq4HZpfRHTxzjZttELz3Xd1PhWFgIgIbSDNnq0j2IUIB09D3apVQK9eOgNz/PiwzxrZ2cCsh5fhmc/bYfLrBt26uR2R71JTgb59dX7MO++wlU6BwdUdbdSqlbZso6PDvrsC0Amkfd65BfPmGwwdqhMw9u51OyrviOgOR40b6xDBmjVM6hRamNjDQXS0LiZRqpTbkXgnn4qEZs20JDI2Vse6Xn45PPYAX7tW32snT9aB4REjrFjtoPAR0YmBixYFYXnS4GNiD3eh+KT0eHQn5lq18h38LV5cK0hWrdI1vho1Aj79NDTvUkYGMGCALuD10ENaytmwodtRkc+M0cWN4uO1m9OCRfnOx8Qezk6fBtq21eZuKNSBezyaoZs0Ad54Q/f9qlTpkr9Wp46WB44ZAzz1FBAX5/8iSE45eBAYNkxjLFJEq18eecSaFYQLt9tv15LILl2AW2/VNZu2bXM7KrVzp18tHL+ensaYe40xG4wxHmNME3/ORT6IiNCkvmKFLpD+/PPA77+7E8v332sT9rnndFbON994tViMMVr3vX69LoDUo4e+Zy1c6E45/65d+iZz3XW64sPatfpQly0b/FgogIoU0XLbzZuBKlW0RNJNycm6BnbTpn4tzu5XVYwxJhaAB8AbAP4hIt/ncyyrYgJpwwbth1+wAHj6aW1mBlNqqn6c7dTJkUHe7Gzgww+1ECgzU7s/evUKbNVadrb2m0+bptWmffroIkw1agTumkQ4flyf7FOmAGlp2uc3YAAQFQXAxdUdjTGJYGIPDQcOaL92/frOn1sE2LpV+86DVKEjovXv06fr0ttNm+rCSJ0764cUf504oR945s/X19a11+oGGA8+GH5j1RQgIrpjU9u2+sSLjnb2/FOmaIOsf38dxLlgHQEmdsrfhAm6b2i9etppXLNm/lP5d+/WTwKbNgGrV+sa8pGR+rULEz5OnNDB1c8+02KGqCjt7WnSRJctqFFDP03nteCYiG7ItGeP3qW1a7X3KClJyxZvu02XrHHizYIsk5OjExX++1/dualWLZ082Lw5cP/9+f+ux6MDNVu26JaYHTt6ffmAJHZjzBIAFfP4r+EiMi/3mEQwsYe+5ct116aNG7VPcccO7WP84gugRYs/Ht+9u/bZx8Zq9mzTBqhWLSTq6T0qcB9BAAAHE0lEQVQeHff67jtN0CkpOt6UkaEJv1Qp3Unv1Cntyjl0SBN+lSp6dxo3Bm64QUsXw3zOFwXTqVPaKli1Sle2Gzfuj8ds3aot++PH9QlZqpS+GbRrp5sVeCnkW+wjR448+31cXBzi4uL8vjb5QUSffEWL6s0CWVnA4cP6weTECaBYMf1QEhV1tsuSKLCysnT0vWRJICbG69dWYmIiEhMTz34/atSo0E7sbLETEXkn6EsKGGO6GmNSATQH8KkxZrE/5yMiIv9xETAiohDGRcCIiIiJnYjINkzsRESWYWInIrIMEzsRkWWY2ImILMPETkRkGSZ2IiLLMLETEVmGiZ2IyDJM7ERElmFiJyKyDBM7EZFlmNiJiCzDxE5EZBkmdiIiyzCxExFZhomdiMgyTOxERJZhYicisgwTOxGRZZjYiYgsw8RORGQZJnYiIsswsRMRWcavxG6MGW+M2WyMWW+M+a8xJtqpwIiIyDf+tti/BFBPRBoA2AJgqP8hERGRP/xK7CLyhYjk5H67GkAV/0MiIiJ/ONnH/lcAixw8HxER+SDyUgcYY5YAqJjHfw0XkXm5xwwHkANgVn7nSkhIOPt1XFwc4uLivAiViMh+iYmJSExM9OscRkT8O4ExvQH0B9BeRE7kc5z4ey0iosLGGAMRMd78ziVb7Je4YCcAzwBom19SJyKi4PGrxW6M2QagGIDfcn+0WkT6X+RYttiJiLzkS4vd766YAl+IiZ2IyGu+JHbOPCUisgwTOxGRZZjYiYgsw8RORGQZJnYiIsswsRMRWYaJnYjIMkzsRESWYWInIrIMEzsRkWWY2ImILMPETkRkGSZ2IiLLMLETEVmGiZ2IyDJM7ERElmFiJyKyDBM7EZFlmNiJiCzDxE5EZBkmdiIiyzCxExFZhomdiMgyTOxERJbxK7EbY54zxqw3xiQbY74wxlR2KjAiIvKNERHff9mYKBE5kvv1EwCuF5H+FzlW/LkWEVFhZIyBiBhvfsevFvuZpJ6rJABmbiIil0X6ewJjzFgADwI4DKCd3xEREZFfLtkVY4xZAqBiHv81XETmnXfcUACXi8jIi5yHXTFERF7ypSvmki12Ebm1gOeaDeBTAHkmdgBISEg4+3VcXBzi4uIKeGoiosIhMTERiYmJfp3D38HTWiKyNffrxwG0FZE/X+RYttiJiLwUkBb7JbxgjKkNwANgF4A8K2KIiCh4/Gqxe3UhttiJiLwW9HJHIiIKPUzsRESWYWInIrIME7sL/C1lsgkfi3P4WJzDx8I/TOwu4JP2HD4W5/CxOIePhX+Y2ImILMPETkRkmaDWsQflQkRElvG2jj1oiZ2IiIKDXTFERJZhYiciskzAE7sxppMx5mdjzDZjzJBAXy9UGWOqGmOWG2M2GWM2GGMGuR2T24wxEcaYtcaYhW7H4iZjTLQx5iNjzObc50dzt2NyizHm77mvjxRjzHvGmMvdjimYjDFvGWP2G2NSzvtZOWPMl8aYrbn/lr3UeQKa2I0xEQBeA3AbgOsB9DTGXB/Ia4awHACDRSQWQDMAjxXix+KMQQA2uR1ECHgZwOciUgdAQxTSx8QYcxWAJwA0EZF6ACIA9HA3qqCbDqDTBT8bAmCpiNQCsDT3+3wFusV+E4BtIvKLiJwC8D6AuwJ8zZAkIvtE5Mfcr49CX7xXuRuVe4wxVQDcDmCa27G4yRgTBaANgDcBQEROicghd6NyVSSA4saYSAAlAKS5HE9QicgKAAcv+PFdAGbkfj0DwN2XOk+gE/tVAPac930qCnEyO8MYUx1AYwBr3I3EVZMAPA1dy78wqwkgA8Dbud1S04wxJd0Oyg0ishfAvwDsBrAPwGER+cLdqELClSKyD9AGIoAKl/qFQCf2vGovC3V9pTGmFICPAcSLyBG343GDMaYLgP0i8oPbsYSASAA3AHhdRBoDOI4CfNS2UW7f8V0AagCoDKCkMaaXu1GFp0An9lQAVc/7vgoK2Uer8xljikCT+iwR+cTteFzUEsCdxpid0O65W4wx77obkmtSAaSKyJlPbx9BE31hdCuAHSKSISLZAD4B0MLlmEJBujGmEgDk/rv/Ur8Q6MSeBKCWMaaGMaYodCBkfoCvGZKMMQbaj7pJRCa6HY+bRGSoiFQRkerQ58QyESmULTMR+RXAntwtJgGgPYCNLobkpt0AmhljSuS+XtqjkA4kX2A+gN65X/cGMO9Sv+Dvnqf5EpEcY8xAAIuhI9xviciGQF4zhLUE8ACAn4wxybk/GyYin7kYE4WGxwHMym38/ALgIZfjcYWIrDHGfATgR2gV2VoAU92NKriMMe8BiANQ3hiTCmAkgBcAzDHGPAx987v3kufhkgJERHbhzFMiIsswsRMRWYaJnYjIMkzsRESWYWInIrIMEzsRkWWY2ImILMPETkRkmf8Hnmgr2Qosc/QAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.linspace(0, 10, 1000)\n",
    "fig, ax = plt.subplots()\n",
    "ax.plot(x, np.sin(x), '-b', label='Sine')\n",
    "ax.plot(x, np.cos(x), '--r', label='Cosine')\n",
    "ax.axis('equal')\n",
    "leg = ax.legend()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "但我们有很多方法可以定制图例。例如，我们可以指定位置。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#loc : 默认 'upper right'， 对应的取值\n",
    "#===============   =============\n",
    "#Location String   Location Code\n",
    "#===============   =============\n",
    "#'best'            0\n",
    "#'upper right'     1\n",
    "#'upper left'      2\n",
    "#'lower left'      3\n",
    "#'lower right'     4\n",
    "#'right'           5\n",
    "#'center left'     6\n",
    "#'center right'    7\n",
    "#'lower center'    8\n",
    "#'upper center'    9\n",
    "#'center'          10\n",
    "\n",
    "ax.legend(loc='upper left')\n",
    "fig"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "在图例设置中，我们使用 ncol 指定显示的列数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ax.legend(loc='lower center', ncol=2,frameon=False) # frameon=False 是否显示图例的外边框\n",
    "fig"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 点大小 图例设置\n",
    "\n",
    "图例默认值不足以实现给定的可视化效果。例如，您可能正在使用点的大小来标记数据的某些特征，并希望创建反映这一点的图例。我们将使用点的大小来表示加利福尼亚城市的人口。需要指定点大小比例的图例\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(482, 13)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>city</th>\n",
       "      <th>latd</th>\n",
       "      <th>longd</th>\n",
       "      <th>elevation_m</th>\n",
       "      <th>elevation_ft</th>\n",
       "      <th>population_total</th>\n",
       "      <th>area_total_sq_mi</th>\n",
       "      <th>area_land_sq_mi</th>\n",
       "      <th>area_water_sq_mi</th>\n",
       "      <th>area_total_km2</th>\n",
       "      <th>area_land_km2</th>\n",
       "      <th>area_water_km2</th>\n",
       "      <th>area_water_percent</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Adelanto</td>\n",
       "      <td>34.576111</td>\n",
       "      <td>-117.432778</td>\n",
       "      <td>875.0</td>\n",
       "      <td>2871.0</td>\n",
       "      <td>31765</td>\n",
       "      <td>56.027</td>\n",
       "      <td>56.009</td>\n",
       "      <td>0.018</td>\n",
       "      <td>145.107</td>\n",
       "      <td>145.062</td>\n",
       "      <td>0.046</td>\n",
       "      <td>0.03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>AgouraHills</td>\n",
       "      <td>34.153333</td>\n",
       "      <td>-118.761667</td>\n",
       "      <td>281.0</td>\n",
       "      <td>922.0</td>\n",
       "      <td>20330</td>\n",
       "      <td>7.822</td>\n",
       "      <td>7.793</td>\n",
       "      <td>0.029</td>\n",
       "      <td>20.260</td>\n",
       "      <td>20.184</td>\n",
       "      <td>0.076</td>\n",
       "      <td>0.37</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Alameda</td>\n",
       "      <td>37.756111</td>\n",
       "      <td>-122.274444</td>\n",
       "      <td>NaN</td>\n",
       "      <td>33.0</td>\n",
       "      <td>75467</td>\n",
       "      <td>22.960</td>\n",
       "      <td>10.611</td>\n",
       "      <td>12.349</td>\n",
       "      <td>59.465</td>\n",
       "      <td>27.482</td>\n",
       "      <td>31.983</td>\n",
       "      <td>53.79</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Albany</td>\n",
       "      <td>37.886944</td>\n",
       "      <td>-122.297778</td>\n",
       "      <td>NaN</td>\n",
       "      <td>43.0</td>\n",
       "      <td>18969</td>\n",
       "      <td>5.465</td>\n",
       "      <td>1.788</td>\n",
       "      <td>3.677</td>\n",
       "      <td>14.155</td>\n",
       "      <td>4.632</td>\n",
       "      <td>9.524</td>\n",
       "      <td>67.28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Alhambra</td>\n",
       "      <td>34.081944</td>\n",
       "      <td>-118.135000</td>\n",
       "      <td>150.0</td>\n",
       "      <td>492.0</td>\n",
       "      <td>83089</td>\n",
       "      <td>7.632</td>\n",
       "      <td>7.631</td>\n",
       "      <td>0.001</td>\n",
       "      <td>19.766</td>\n",
       "      <td>19.763</td>\n",
       "      <td>0.003</td>\n",
       "      <td>0.01</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          city       latd       longd  elevation_m  elevation_ft  \\\n",
       "0     Adelanto  34.576111 -117.432778        875.0        2871.0   \n",
       "1  AgouraHills  34.153333 -118.761667        281.0         922.0   \n",
       "2      Alameda  37.756111 -122.274444          NaN          33.0   \n",
       "3       Albany  37.886944 -122.297778          NaN          43.0   \n",
       "4     Alhambra  34.081944 -118.135000        150.0         492.0   \n",
       "\n",
       "   population_total  area_total_sq_mi  area_land_sq_mi  area_water_sq_mi  \\\n",
       "0             31765            56.027           56.009             0.018   \n",
       "1             20330             7.822            7.793             0.029   \n",
       "2             75467            22.960           10.611            12.349   \n",
       "3             18969             5.465            1.788             3.677   \n",
       "4             83089             7.632            7.631             0.001   \n",
       "\n",
       "   area_total_km2  area_land_km2  area_water_km2  area_water_percent  \n",
       "0         145.107        145.062           0.046                0.03  \n",
       "1          20.260         20.184           0.076                0.37  \n",
       "2          59.465         27.482          31.983               53.79  \n",
       "3          14.155          4.632           9.524               67.28  \n",
       "4          19.766         19.763           0.003                0.01  "
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "cities = pd.read_csv('data/california_cities.csv',index_col=0)\n",
    "print(cities.shape)\n",
    "cities.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 482 entries, 0 to 481\n",
      "Data columns (total 13 columns):\n",
      "city                  482 non-null object\n",
      "latd                  482 non-null float64\n",
      "longd                 482 non-null float64\n",
      "elevation_m           434 non-null float64\n",
      "elevation_ft          470 non-null float64\n",
      "population_total      482 non-null int64\n",
      "area_total_sq_mi      480 non-null float64\n",
      "area_land_sq_mi       482 non-null float64\n",
      "area_water_sq_mi      481 non-null float64\n",
      "area_total_km2        477 non-null float64\n",
      "area_land_km2         478 non-null float64\n",
      "area_water_km2        478 non-null float64\n",
      "area_water_percent    477 non-null float64\n",
      "dtypes: float64(11), int64(1), object(1)\n",
      "memory usage: 52.7+ KB\n"
     ]
    }
   ],
   "source": [
    "cities.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Extract the data we're interested in\n",
    "lat, lon = cities['latd'], cities['longd']\n",
    "population, area = cities['population_total'], cities['area_total_km2']\n",
    "\n",
    "# Scatter the points, using size and color but no label\n",
    "plt.scatter(lon, lat, label=None,\n",
    "            c=np.log10(population), cmap='viridis',\n",
    "            s=area, linewidth=0, alpha=0.5)\n",
    "plt.axis(aspect='equal')\n",
    "plt.xlabel('longitude') # x轴标签显示\n",
    "plt.ylabel('latitude') # y轴标签展示\n",
    "plt.colorbar(label='log$_{10}$(population)') # 显示最右侧的条目\n",
    "\n",
    "# Here we create a legend:\n",
    "# we'll plot empty lists with the desired size and label\n",
    "for area in [100, 300, 500]:\n",
    "    plt.scatter([], [], c='k', alpha=0.3, s=area,label=str(area) + ' km$^2$')\n",
    "plt.legend(scatterpoints=1, frameon=False, labelspacing=1, title='City Area')\n",
    "\n",
    "plt.title('California Cities: Area and Population');"
   ]
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.2"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
